sp_msforeachdb 'use ? select case when grouping(groupuid) = 1 and grouping(memberuid) = 1 then db_name() else '''' end as [Database Name], case when grouping(groupuid) = 0 and grouping(memberuid) = 1 then user_name(groupuid) else '''' end as [Builtin Role], case when grouping(groupuid) = 0 and grouping(memberuid) = 0 then user_name(memberuid) else '''' end from dbo.sysmembers where user_name(groupuid) like ''db_%'' group by groupuid, memberuid with rollup order by groupuid, memberuid select case when grouping(groupuid) = 1 and grouping(memberuid) = 1 then db_name() else '''' end as [Database Name], case when grouping(groupuid) = 0 and grouping(memberuid) = 1 then user_name(groupuid) else '''' end as [WSOD Role], case when grouping(groupuid) = 0 and grouping(memberuid) = 0 then user_name(memberuid) else '''' end from dbo.sysmembers where user_name(groupuid) not like ''db_%'' group by groupuid, memberuid with rollup order by groupuid, memberuid'